package com.ruoyi.park.service;

import com.ruoyi.common.core.web.domain.AjaxResult;
import com.ruoyi.omp.api.domain.BuiRoom;
import com.ruoyi.park.domain.vo.BuiRoomVO;
import com.ruoyi.park.domain.vo.RoomFacilityExcelVO;

import java.math.BigDecimal;
import java.util.List;

/**
 * 房源Service接口
 *
 * @author cjie
 * @date 2021-07-20
 */
public interface IBuiRoomService {
    /**
     * 查询房源
     *
     * @param id 房源ID
     * @return 房源
     */
     BuiRoom selectBuiRoomById(String id);

    /**
     * 查询房源列表
     *
     * @param buiRoom 房源
     * @return 房源集合
     */
     List<BuiRoom> selectBuiRoomList(BuiRoom buiRoom);

    /**
     * 新增房源
     *
     * @param buiRoom 房源
     * @return 结果
     */
     int insertBuiRoom(BuiRoom buiRoom);

    /**
     * 修改房源
     *
     * @param buiRoom 房源
     * @return 结果
     */
    AjaxResult updateBuiRoom(BuiRoom buiRoom);


    /**
     * 修改房源(内部调用)
     *
     * @param buiRoom 房源
     * @return 结果
     */
    int updateRoom(BuiRoom buiRoom);

    /**
     * 批量删除房源
     *
     * @param ids 需要删除的房源ID
     * @return 结果
     */
     int deleteBuiRoomByIds(String[] ids);

    /**
     * 删除房源信息
     *
     * @param id 房源ID
     * @return 结果
     */
     int deleteBuiRoomById(String id);

    /**
     * 通过租赁记录id统计租赁总面积
     * @param recordId 租赁记录id
     * @return
     */
    BigDecimal sumAreaByRecordId(String recordId);

    /**
     * 通过租赁记录id统计房屋数量
     * @param recordId 记录id
     * @return
     */
    Integer countRoomByRecordId(String recordId);

    String importData(List<BuiRoomVO> buiRoomVOList);

    /**
     * 导入房源配套
     * @param facilityExcelVOS
     * @return
     */
    String importFacilityData(List<RoomFacilityExcelVO> facilityExcelVOS);
}
